import axios,{type AxiosRequestConfig, type AxiosResponse} from 'axios'
import { getToken } from '@/api/auth';
//axios 二次封装
//路径
axios.defaults.baseURL='http://localhost:8080';
//请求拦截器
axios.interceptors.request.use((config:AxiosRequestConfig|any)=>{
    //携带token
    const token = getToken(); // 这里应该是从localStorage, sessionStorage, Vuex等地方获取的token
    if (token) {
        config.headers['token']=token;
        config.headers['Authorization'] = `Bearer ${token}`; // 添加到headers中
    }
    return config;
})
//响应拦截器
axios.interceptors.response.use((res:AxiosResponse)=>{
     return res;
},(err:any)=>{
    return Promise.reject(err);
})

export default axios;

//写法一
/*const request=axios.create({
    baseURL:"/api",
    timeout:5000,
});

request.interceptors.request.use((config)=>{
    return config;
},(err)=>Promise.reject(err)
);

request.interceptors.response.use((response)=>{
    return response.data;
},(err)=>Promise.reject(err)
);
export default request;*/
